const fs = require('node:fs')
const path = require('node:path')

// 获取最近一次 Git 提交的短哈希作为版本后缀
try {
  // 读取 package.json 文件内容
  const packageJsonPath = path.join(__dirname, './package.json')
  const packageJsonContent = fs.readFileSync(packageJsonPath, 'utf8')
  const packageJson = JSON.parse(packageJsonContent)

  // 解析版本号
  const versionParts = packageJson.version.split('.')
  const major = Number.parseInt(versionParts[0], 10)
  const minor = Number.parseInt(versionParts[1], 10)
  const patch = Number.parseInt(versionParts[2], 10)

  // 根据需要自增版本号
  // 例如，这里我们仅对补丁版本号进行自增

  // 构建新的版本号
  const newVersion = `${major}.${minor}.${patch + 1}`

  // 更新 package.json 中的版本号
  packageJson.version = newVersion

  // 将更新后的内容写回 package.json 文件
  fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))

  console.log(`New version set to: ${newVersion}`)
}
catch (error) {
  console.error('Error updating version:', error)
}
